package Self_Practice;
//在日常的开发中，我们可能会需要判断两个对象是否全等。所谓的全等判断标准就是，对象中的所有属性值都是相同的。而实现方式就是重写对象的 equals 方法，来进行比较判断。
//请您在 Animal 类中重写 equals 方法，来实现上述功能（判断两个 Animal 是否全等）。
public class Animal {
    private int age;
    private String name;

    public Animal() { }

    public Animal(String name, int age) {
        this.age = age;
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public boolean equals(Object obj) {
        if(this == obj){  //该if用于判断是否为同意对象
            return true;
        }
        if(obj instanceof Animal){  //判断对象类型是否匹配，使用obj instanceof Animal判断传入的obj是否为Animal类(或其子类)
            Animal a = (Animal)obj;
            if(this.getAge()==a.getAge() && this.getName()==a.getName()){
                return true;     //this.getAge()调用的是当前对象(即调用equals方法的那个Animal对象).(A.equals(B)中的A )
            }                    //a.getAge()调用的是转换后对象a的getAge()方法.(A.equals(B)中的B )
        }
        return false;
    }
}
